#ifndef _MATH_CALL_H
#define _MATH_CALL_H

#define ADD 1
#define SUB 2
#define SLOPE 3
#define MEAN 4

struct args2 {
  int a1;
  int a2;
};

struct args2_a1p {
  int *a1;
  int a2;
};

struct args4 {
  int a1;
  int a2;
  int a3;
  int a4;
};

/* Call math function 
 * function_names : are defined above
 * args : is argument that will be used in called function
 * result : is the reference to return value of the called function 
 */ 
extern int math_call(int function_name, void *args, int *result);


#endif //_MATH_CALL_H  
